package done.easy_201_300;

import lombok.extern.slf4j.Slf4j;
import org.junit.Test;

/**
 * 283. Move Zeroes 移动零
 * <p>
 * 给定一个数组 nums，编写一个函数将所有 0 移动到数组的末尾，同时保持非零元素的相对顺序。
 * <p>
 * 示例:
 * 输入: [0, 1, 0,  3, 12]
 * 输出: [1, 3, 12, 0,  0]
 * 说明:
 * 必须在原数组上操作，不能拷贝额外的数组。
 * 尽量减少操作次数。
 * 2019-03-28 10:17 PM
 **/
@Slf4j
public class MoveZeroes {

    @SuppressWarnings("all")
    public void moveZeroes(int[] nums) {
        // 190328 first
    }

    @Test
    public void test() {
        int[] nums = new int[]{1, 0, 2, 0, 3, 0, 4};
        moveZeroes(nums);
        log.info("result:{}", nums);
    }
}





























/*
public void moveZeroes(int[] nums) {
    int j = 0;
    for (int i = 0; i < nums.length; i++) {
        if (nums[i] != 0) {
            nums[j++] = nums[i];
        }
    }
    while (j < nums.length) {
        nums[j++] = 0;
    }
}
*/
